package com.lld.im.common.constants;

public class Constants {

    public static final String USERID="userId";
    public static final String APPID="appId";
    public static final String CLIENT_TYPE="clientType";
    public static final String IMEI="imei";
    public static final String PING_LAST_TIME="pingLastTime";

    public static final String ImCoreZkRoot = "/im-coreRoot";
    public static final String ImCoreZkRootTcp = "/tcp";
    public static final String ImCoreZkRootWeb = "/web";
    public static class RedissonConfig{
        /**
         * 用户sessionKey 格式 appId+USER_SESSION_KEY+userId
         */
        public static final String USER_SESSION_KEY=":userSession:";

        /**
         * 用户登录的消息channel
         */
        public static final String LOGIN_USER_CHANNEL="single/user:login_user_channel";

        public static final String USER_SIGN=":userSign:";

        public static final String MESSAGE_CACHE=":messageCache:";

    }

    /**
     * 队列 交换机
     */
    public static class RabbitConstants {
        public static final String Im2UserService = "pipeline2UserService";
        public static final String Im2MessageService = "pipeline2MessageService";
        public static final String Im2GroupService = "pipeline2GroupService";
        public static final String Im2FriendshipService = "pipeline2FriendshipService";
        public static final String MessageService2Im = "messageService2Pipeline";
        public static final String GroupService2Im = "GroupService2Pipeline";
        public static final String Friendship2Im = "friendship2Pipeline";
        public static final String StoreGroupMessage = "storeGroupMessage";
        public static final String StoreP2PMessage = "storeP2PMessage";
    }


    public static class CallbackCommand{
        public static final String ModifyUserAfter = "user.modify.after";

        public static final String CreateGroupAfter = "group.create.after";

        public static final String UpdateGroupAfter = "group.update.after";

        public static final String DestoryGroupAfter = "group.destory.after";

        public static final String TransferGroupAfter = "group.transfer.after";

        public static final String GroupMemberAddBefore = "group.member.add.before";

        public static final String GroupMemberAddAfter = "group.member.add.after";

        public static final String GroupMemberDeleteAfter = "group.member.delete.after";

        public static final String AddFriendBefore = "friend.add.before";

        public static final String AddFriendAfter = "friend.add.after";

        public static final String UpdateFriendBefore = "friend.update.before";

        public static final String UpdateFriendAfter = "friend.update.after";

        public static final String DeleteFriendAfter = "friend.delete.after";

        public static final String AddBlackAfter = "black.add.after";

        public static final String DeleteBlack = "black.delete";

        public static final String SendMessageAfter = "message.send.after";

        public static final String SendMessageBefore = "message.send.before";

    }

    public static class SeqConstants {
        public static final String Message = ":messageSeq:";

        public static final String GroupMessage = "groupMessageSeq";


        public static final String Friendship = "friendshipSeq";

//        public static final String FriendshipBlack = "friendshipBlackSeq";

        public static final String FriendshipRequest = "friendshipRequestSeq";

        public static final String FriendshipGroup = "friendshipGrouptSeq";

        public static final String Group = "groupSeq";

        public static final String Conversation = "conversationSeq";

    }






}
